package com.flynn.rock.system.model.vo;

import com.flynn.rock.enums.system.UserStatus;
import com.flynn.rock.model.dto.system.AuthorityDto;
import com.flynn.rock.model.dto.system.RoleDto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.List;

@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@Schema(description = "登录用户信息")
public class LoginUserVo {

    @Schema(description = "用户ID")
    private Long userId;

    @Schema(description = "用户姓名")
    private String realName;

    private String account;

    @Schema(description = "部门ID")
    private Long deptId;

    @Schema(description = "用户状态")
    private UserStatus status;

    @Schema(description = "用户权限")
    private List<AuthorityDto> authorities;

    @Schema(description = "用户角色")
    private List<RoleDto> roles;
}
